<template>
  <div></div>
</template>
<script>
export default {
  data() {
    return {}
  },
  methods: {
    findSwap(arr) {
      for (var i = 0; i < arr.length; i++) {
        let item = arr[i]
        if (item == 2) {
          let s = i
          let next = s + 1
          while (arr[next] == 2) {
            //里面是next
            next = next + 1
          }
          //下面判断也是关于next
          if (next < arr.length) {
            this.swap(arr, next, s)
          }
        }
      }
    },
    swap(arr, i, j) {
      //还是数组的问题，会扩充长度
      let temp = arr[i]
      arr[i] = arr[j]
      arr[j] = temp
    }
  },
  mounted() {
    let arr = [1, 2, 2, 2, 2, 3, 2, 2, 2, 2, 4]
    //需要变成 [1,3,4,2,2,2,2,2,2,2,2]
    //如果是2，那么寻找不是2的数字，然后进行交换，每个数字都有任务
    this.findSwap(arr)

    console.log(arr)
  }
}
</script>
